package com.rxh.trade;

import com.rxh.pojo.cross.BankResult;
import com.rxh.pojo.payment.Refund;
import com.rxh.pojo.payment.Trade;

/**
 * Created with IntelliJ IDEA.
 * User: 陈俊雄
 * Date: 2018/10/8
 * Time: 15:06
 * Project: Management
 * Package: com.rxh.trade
 */
public interface AcquirerInterface<T> {
    // 获取收单机构ID
    Integer getAcquirerId();

    // 处理Payment交易接口
    BankResult trade(Trade trade);

    // 处理通道交易异步通知接口
    String tradeNotify(T result);

    // 交易查询
    BankResult tradeQuery(Trade trade);

    // 交易批量查询
    BankResult tradeListQuery(Trade trade);

    // 处理Payment退款接口
    BankResult refund(Refund refund);

    // 处理通道退款异步通知接口
    String refundNotify(T result);

    // 退款查询
    BankResult refundQuery(Refund refund);

    // 退款批量查询
    BankResult refundListQuery(Refund refund);
}